package com.lrkj.waitress.service;

import java.util.List;
import java.util.Map;

import com.lrkj.property.vo.RoomAuthVo;
import com.lrkj.waitress.domain.RoomCustom;
import com.lrkj.common.core.service.BaseService;
import org.apache.ibatis.annotations.Param;

/**
 * 房屋业主关系Service接口
 *
 * @author yajun_ren
 * @date 2022-03-17
 */
public interface IRoomCustomService extends BaseService<RoomCustom>
{

    /**
     * 查询房屋业主关系列表
     *
     * @param roomCustom 房屋业主关系
     * @return 房屋业主关系集合
     */
    public List<RoomCustom> selectRoomCustomList(RoomCustom roomCustom);


    /**
     * 新增房屋业主关系
     *
     * @param roomCustom 房屋业主关系
     * @return 结果
     */
    public int insertRoomCustom(RoomCustom roomCustom);

    /**
     * 修改房屋业主关系
     *
     * @param roomCustom 房屋业主关系
     * @return 结果
     */
    public int updateRoomCustom(RoomCustom roomCustom);

    /**
     * 批量删除房屋业主关系
     *
     * @param roomIds 需要删除的房屋业主关系ID
     * @return 结果
     */
    public int deleteRoomCustomByIds(String[] roomIds);

    /**
     * 删除房屋业主关系信息
     *
     * @param roomId 房屋业主关系ID
     * @return 结果
     */
    public int deleteRoomCustomById(String roomId);

    //新增or修改业主成员
    public int doSavaOrUpdate(RoomCustom roomCustom);

    /**
     * APP用户房间认证
     * **/
    public Map<String,Object> appUserRoomAuth(RoomAuthVo roomAuth);

    /**
     * 设置用户默认小区房间
     * **/
    public int roomDefault(RoomCustom roomCustom);

    //通过APP用户ID 获取当前用户绑定的小区列表
    public List<Map<String,Object>> appUserCommunityList(String appUserId);

    //删除用户房间绑定关系
    public int delRoomBind(RoomCustom roomCustom);
}
